_v_a_l_u_e Specifies coverage of the modification mask. Clamped to the
range [0, 1]; zero implies no coverage, and one implies full
coverage.
_i_n_v_e_r_t GGGGLLLL____FFFFAAAALLLLSSSSEEEE to use the modification mask implied by _v_a_l_u_e; GGGGLLLL____TTTTRRRRUUUUEEEE
to use the bitwise inverse of that mask.
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
ggggllllSSSSaaaammmmpppplllleeeeMMMMaaaasssskkkkSSSSGGGGIIIISSSS defines a mask to modify the coverage of multisampled
pixel fragments. This capability is used for antialiased screen-door
transparency and smooth transitions between two renderings of an object
(often for level-of-detail management in simulation systems).
When multisampling is enabled (see ggggllllEEEEnnnnaaaabbbblllleeee with argument
GGGGLLLL____MMMMUUUULLLLTTTTIIIISSSSAAAAMMMMPPPPLLLLEEEE____SSSSGGGGIIIISSSS) a ``fragment mask'' is computed for each fragment
generated by a primitive. This mask reflects the amount of the pixel
covered by the fragment, and determines the frame buffer samples that may
be affected by the fragment.
If conversion of alpha values to masks is enabled (ggggllllEEEEnnnnaaaabbbblllleeee with argument
GGGGLLLL____SSSSAAAAMMMMPPPPLLLLEEEE____AAAALLLLPPPPHHHHAAAA____TTTTOOOO____MMMMAAAASSSSKKKK____SSSSGGGGIIIISSSS), the fragment alpha value is used to
generate a temporary modification mask which is then ANDed with the
fragment mask. One way to interpret this is as a form of dithering: a
multivalued alpha (coverage or opacity) for the whole fragment is
converted to simple binary values of coverage at many locations (the
samples).
After conversion of alpha values to masks, if replacement of alpha values
is enabled (ggggllllEEEEnnnnaaaabbbblllleeee with argument GGGGLLLL____SSSSAAAAMMMMPPPPLLLLEEEE____AAAALLLLPPPPHHHHAAAA____TTTTOOOO____OOOONNNNEEEE____SSSSGGGGIIIISSSS), the
fragment's alpha is set to the maximum allowable value.
Finally, if fragment mask modification is enabled (ggggllllEEEEnnnnaaaabbbblllleeee with argument
GGGGLLLL____SSSSAAAAMMMMPPPPLLLLEEEE____MMMMAAAASSSSKKKK____SSSSGGGGIIIISSSS), ggggllllSSSSaaaammmmpppplllleeeeMMMMaaaasssskkkkSSSSGGGGIIIISSSS defines an additional modification
mask. _v_a_l_u_e is used to generate a modification mask in much the same way
alpha was used above. If _i_n_v_e_r_t is GGGGLLLL____TTTTRRRRUUUUEEEE, then the modification mask
specified by _v_a_l_u_e will be inverted. The final modification mask will
then be ANDed with the fragment mask resulting from the previous steps.
This can be viewed as an ``override'' control that selectively fades the
Note that ggggllllSSSSaaaammmmpppplllleeeeMMMMaaaasssskkkkSSSSGGGGIIIISSSS(_v_a_l_u_e, GGGGLLLL____TTTTRRRRUUUUEEEE) is not necessarily equivalent
to ggggllllSSSSaaaammmmpppplllleeeeMMMMaaaasssskkkkSSSSGGGGIIIISSSS(1.0-_v_a_l_u_e, GGGGLLLL____FFFFAAAALLLLSSSSEEEE); due to round-off and other
issues, complementing the coverage will not necessarily yield an inverted
modification mask.
NNNNOOOOTTTTEEEESSSS
ggggllllSSSSaaaammmmpppplllleeeeMMMMaaaasssskkkkSSSSGGGGIIIISSSS is part of the SSSSGGGGIIIISSSS____mmmmuuuullllttttiiiissssaaaammmmpppplllleeee extension, not part of
the core GL command set. If GGGGLLLL____SSSSGGGGIIIISSSS____mmmmuuuullllttttiiiissssaaaammmmpppplllleeee is included in the
string returned by ggggllllGGGGeeeettttSSSSttttrrrriiiinnnngggg, when called with argument GGGGLLLL____EEEEXXXXTTTTEEEENNNNSSSSIIIIOOOONNNNSSSS,
extension SSSSGGGGIIIISSSS____mmmmuuuullllttttiiiissssaaaammmmpppplllleeee is supported by the connection.
EEEERRRRRRRROOOORRRRSSSS
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if ggggllllSSSSaaaammmmpppplllleeeeMMMMaaaasssskkkkSSSSGGGGIIIISSSS is executed between
the execution of ggggllllBBBBeeeeggggiiiinnnn and the corresponding execution of ggggllllEEEEnnnndddd.
ggggllllIIIIssssEEEEnnnnaaaabbbblllleeeedddd with argument GGGGLLLL____MMMMUUUULLLLTTTTIIIISSSSAAAAMMMMPPPPLLLLEEEE____SSSSGGGGIIII, GGGGLLLL____SSSSAAAAMMMMPPPPLLLLEEEE____AAAALLLLPPPPHHHHAAAA____TTTTOOOO____MMMMAAAASSSSKKKK,
Multisampling is supported only on RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee, RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee2222, and VVVVTTTTXXXX
and IIIInnnnffffiiiinnnniiiitttteeeeRRRReeeeaaaalllliiiittttyyyy systems. Currently it can be used with windows of
multisample-capable Visual types, but not with pixmaps.